% fname: routing_dyad_0_6__sel_bufferlevel__topology_8x8__.m
% ./noxim -routing dyad 0.6 -sel bufferlevel -dimx 8 -dimy 8  -sim 10000 -warmup 2000 -size 8 8 -buffer 4 

function [max_pir, max_throughput, min_delay] = routing_dyad_0_6__sel_bufferlevel__topology_8x8__(symbol)

data = [
%             pir      avg_delay     throughput      max_delay       rpackets         rflits
             0.01        27.4014       0.079252            182           5072          40577
             0.01        26.0862      0.0813691            139           5209          41661
             0.01        26.1455      0.0787734            179           5043          40332
             0.01         29.055      0.0807168            183           5168          41327
             0.01        26.7011      0.0824004            149           5276          42189
             0.01        27.8201      0.0798008            176           5108          40858
             0.01        26.7488       0.079082            168           5059          40490
             0.01        27.3809       0.079418            230           5083          40662
             0.01        26.5779      0.0794355            178           5086          40671
             0.01        28.2014      0.0801836            185           5133          41054
             0.01        27.5569      0.0776406            195           4967          39752
             0.01        29.0972       0.079373            231           5081          40639
             0.01        28.1457      0.0803086            195           5141          41118
             0.01        28.1827      0.0811797            282           5194          41564
             0.01        27.4508      0.0803477            183           5142          41138
             0.01        28.9104      0.0807344            275           5169          41336
             0.01        27.9463      0.0782383            241           5007          40058
             0.01        27.5094      0.0802188            178           5135          41072
             0.01         28.001      0.0795879            160           5095          40749
             0.01        27.1286      0.0811816            170           5194          41565
           0.0105        30.7229       0.085418            190           5470          43734
           0.0105        28.5561      0.0837832            172           5364          42897
           0.0105         30.158       0.085334            233           5457          43691
           0.0105        28.7008      0.0820566            156           5251          42013
           0.0105        29.4577      0.0850684            244           5443          43555
           0.0105        28.5495      0.0833828            233           5336          42692
           0.0105        28.8563      0.0840195            217           5374          43018
           0.0105        33.7833      0.0845684            427           5413          43299
           0.0105        28.7307      0.0835645            243           5343          42785
           0.0105        28.9655      0.0868828            185           5559          44484
           0.0105        27.8187      0.0843398            232           5399          43182
           0.0105        29.6841      0.0843008            210           5397          43162
           0.0105        27.7097      0.0827891            199           5298          42388
           0.0105        28.0717      0.0840957            174           5381          43057
           0.0105        29.5461      0.0840137            234           5376          43015
           0.0105         28.913      0.0844219            200           5405          43224
           0.0105        32.1389      0.0849531            266           5435          43496
           0.0105        29.1317      0.0840898            238           5383          43054
           0.0105        29.1204      0.0843203            220           5399          43172
           0.0105        27.9631      0.0841582            199           5387          43089
            0.011        30.3945      0.0874961            196           5600          44798
            0.011        31.2929      0.0871445            209           5579          44618
            0.011        30.5804      0.0878184            211           5625          44963
            0.011        31.7383      0.0884492            213           5659          45286
            0.011        30.5442      0.0886172            218           5673          45372
            0.011        32.0306      0.0874238            209           5597          44761
            0.011        37.6453      0.0864082            506           5532          44241
            0.011        29.8737      0.0864727            289           5534          44274
            0.011        29.6533      0.0869648            167           5564          44526
            0.011        32.5295      0.0881621            262           5645          45139
            0.011        31.5034      0.0901992            295           5773          46182
            0.011        29.0627      0.0872559            217           5580          44675
            0.011        32.2061      0.0869297            234           5565          44508
            0.011        31.4187      0.0870801            204           5575          44585
            0.011         31.072      0.0883535            223           5656          45237
            0.011        30.4855      0.0859609            204           5499          44012
            0.011        33.1884      0.0882441            228           5648          45181
            0.011        31.4512       0.087832            261           5621          44970
            0.011        34.8504       0.090498            420           5794          46335
            0.011         30.366      0.0882246            177           5647          45171
           0.0115        32.0436      0.0920527            233           5895          47131
           0.0115        33.4353      0.0914219            217           5853          46808
           0.0115        33.4427      0.0907617            294           5812          46470
           0.0115        32.7185      0.0914414            236           5857          46818
           0.0115         32.356      0.0926465            298           5932          47435
           0.0115        34.9379      0.0923359            286           5910          47276
           0.0115        34.5936      0.0933438            352           5977          47792
           0.0115        32.4488      0.0905391            270           5795          46356
           0.0115        35.8862      0.0947383            262           6062          48506
           0.0115        32.7826      0.0924531            279           5915          47336
           0.0115        32.9364      0.0900605            211           5767          46111
           0.0115        38.2334      0.0927188            439           5935          47472
           0.0115        34.1265      0.0931836            283           5960          47710
           0.0115        33.1842      0.0911934            338           5837          46691
           0.0115        33.3081      0.0905742            257           5796          46374
           0.0115        32.9914      0.0910938            270           5832          46640
           0.0115        33.7015      0.0934316            234           5979          47837
           0.0115        32.9856      0.0919648            259           5888          47086
           0.0115        33.1725      0.0925117            272           5924          47366
           0.0115        32.1433      0.0915957            264           5867          46897
            0.012        35.9368      0.0945469            266           6047          48408
            0.012        35.9086      0.0958574            369           6135          49079
            0.012        36.5857      0.0975605            293           6246          49951
            0.012        39.7734      0.0989785            404           6337          50677
            0.012        74.8129      0.0972793           1089           6228          49807
            0.012        35.9694      0.0965117            430           6184          49414
            0.012        35.2722      0.0954219            344           6106          48856
            0.012        46.1752      0.0985586            517           6308          50462
            0.012         37.799      0.0942383            311           6031          48250
            0.012        37.0997      0.0967051            269           6188          49513
            0.012        37.3276      0.0968164            304           6194          49570
            0.012        32.9936      0.0951855            188           6093          48735
            0.012        34.5762      0.0955586            265           6116          48926
            0.012        48.2107      0.0959824            509           6146          49143
            0.012        39.8518      0.0970781            348           6213          49704
            0.012        53.7442       0.096834            895           6193          49579
            0.012         34.966      0.0947656            286           6065          48520
            0.012        38.2173      0.0960605            376           6147          49183
            0.012         40.058       0.097375            280           6226          49856
            0.012        34.2989      0.0946992            276           6062          48486
           0.0125        35.8466       0.100945            220           6460          51684
           0.0125        42.5915      0.0982754            666           6294          50317
           0.0125        39.6612      0.0996172            322           6379          51004
           0.0125        39.2962        0.10098            426           6465          51702
           0.0125        38.0511      0.0986797            329           6316          50524
           0.0125        50.6439       0.101891            851           6518          52168
           0.0125        44.5553       0.100904            445           6458          51663
           0.0125         39.241      0.0985879            359           6307          50477
           0.0125        44.7505      0.0981914            470           6284          50274
           0.0125        43.7813      0.0994863            459           6366          50937
           0.0125        53.8259      0.0980195            648           6271          50186
           0.0125        40.3356         0.1004            253           6427          51405
           0.0125        48.3245      0.0991484            471           6346          50764
           0.0125        59.4227       0.102988           1129           6591          52730
           0.0125        40.1921      0.0996191            340           6377          51005
           0.0125         40.072      0.0991133            414           6343          50746
           0.0125        38.5322      0.0978867            345           6264          50118
           0.0125        39.1725      0.0991504            424           6347          50765
           0.0125        40.5202       0.102043            383           6534          52246
           0.0125        36.9328      0.0985898            361           6310          50478
            0.013        88.9001       0.106166           1365           6796          54357
            0.013        55.0284        0.10777            567           6899          55178
            0.013        145.894       0.102455           1880           6556          52457
            0.013        81.3138       0.104973           1521           6718          53746
            0.013        56.1901       0.104688            545           6703          53600
            0.013        40.4133       0.103367            344           6613          52924
            0.013        51.2006       0.103863            601           6649          53178
            0.013        87.8522       0.103869           1471           6649          53181
            0.013        210.813       0.105602           2625           6759          54068
            0.013        59.0625       0.102225           1017           6547          52339
            0.013        53.9712       0.102074            873           6533          52262
            0.013        78.1662       0.106566           1362           6819          54562
            0.013        51.9728       0.104971            539           6722          53745
            0.013        50.0648       0.104434            450           6685          53470
            0.013        103.073       0.103846           2028           6647          53169
            0.013        63.9069       0.105221            834           6737          53873
            0.013        110.299       0.105068           1401           6725          53795
            0.013        89.7086       0.103465           1447           6624          52974
            0.013         54.777       0.103186            681           6602          52831
            0.013        107.065       0.104512           1438           6690          53510
           0.0135        87.0697       0.108574            950           6948          55590
           0.0135        117.624       0.109924           1454           7034          56281
           0.0135        121.427       0.107371           2478           6875          54974
           0.0135        46.0231       0.106295            491           6804          54423
           0.0135        576.615       0.103719           4985           6641          53104
           0.0135        47.8696       0.107314            401           6866          54945
           0.0135        106.501       0.105727           1513           6767          54132
           0.0135        312.177       0.106271           2873           6804          54411
           0.0135        59.0093       0.107348            600           6871          54962
           0.0135        73.7736       0.109957           1226           7036          56298
           0.0135        45.9361       0.106795            330           6834          54679
           0.0135        118.659       0.101082           2091           6466          51754
           0.0135        223.001        0.10785           2549           6907          55219
           0.0135        74.4695       0.110773            916           7091          56716
           0.0135        71.4915       0.108025            705           6916          55309
           0.0135        202.024       0.108143           1891           6921          55369
           0.0135        260.073       0.103203           2568           6606          52840
           0.0135        135.868       0.106738           1684           6827          54650
           0.0135        82.2225       0.109471            892           7007          56049
           0.0135         305.67      0.0967305           3866           6189          49526
            0.014         112.89       0.110217           1722           7054          56431
            0.014        196.295       0.111273           2534           7117          56972
            0.014        73.9835       0.110885            704           7097          56773
            0.014        96.2243       0.110795           1245           7090          56727
            0.014        91.7739       0.107621           1462           6890          55102
            0.014        478.965      0.0993555           6015           6358          50870
            0.014        426.839       0.102467           4685           6552          52463
            0.014        163.022       0.105465           2651           6748          53998
            0.014        227.121       0.106633           3220           6823          54596
            0.014        254.048       0.102264           3539           6545          52359
            0.014        305.603       0.101182           4238           6475          51805
            0.014        214.633       0.106705           2186           6832          54633
            0.014        245.064       0.106922           4169           6846          54744
            0.014         294.78       0.104324           5558           6676          53414
            0.014        240.237       0.107113           4673           6852          54842
            0.014        411.955      0.0959551           5402           6142          49129
            0.014        343.589       0.109041           4407           6976          55829
            0.014        392.077      0.0995098           4263           6369          50949
            0.014        92.7856       0.110521            819           7071          56587
            0.014        535.029       0.107367           4631           6873          54972
           0.0145        525.546       0.106686           5585           6826          54623
           0.0145        247.385       0.108547           5203           6943          55576
           0.0145        608.072      0.0940391           7396           6017          48148
           0.0145        467.024        0.10127           5079           6479          51850
           0.0145        175.192       0.102336           3644           6548          52396
           0.0145        393.582       0.108273           4217           6929          55436
           0.0145        418.433      0.0936504           6134           5992          47949
           0.0145        420.386       0.108693           5688           6958          55651
           0.0145        443.988       0.101168           5691           6472          51798
           0.0145        555.379      0.0863281           6222           5523          44200
           0.0145         334.22       0.101256           6200           6478          51843
           0.0145        272.053        0.10982           4231           7029          56228
           0.0145        1102.26      0.0844375           8271           5405          43232
           0.0145        427.579       0.101908           4907           6516          52177
           0.0145        433.024       0.105533           4940           6750          54033
           0.0145        660.906      0.0921152           6819           5899          47163
           0.0145        461.327       0.100473           7663           6426          51442
           0.0145        437.031       0.097457           5835           6233          49898
           0.0145        321.709       0.109006           3286           6971          55811
           0.0145        838.646      0.0946777           8300           6064          48475
            0.015        793.067      0.0925215           7497           5918          47371
            0.015        785.784      0.0879082           8003           5626          45009
            0.015        623.264      0.0907227           7135           5805          46450
            0.015        572.352      0.0942695           7589           6030          48266
            0.015        558.765       0.102125           6818           6537          52288
            0.015        599.731      0.0881016           7723           5639          45108
            0.015        547.958       0.096582           6080           6181          49450
            0.015        664.374      0.0968691           6933           6204          49597
            0.015        385.588         0.1004           4880           6425          51405
            0.015        378.415      0.0932812           5781           5967          47760
            0.015        806.911      0.0887227           7970           5676          45426
            0.015        762.966      0.0854785           7162           5471          43765
            0.015          696.9      0.0990859           7350           6343          50732
            0.015        580.202      0.0890781           7215           5698          45608
            0.015        536.474       0.103355           5909           6615          52918
            0.015        520.863      0.0963613           7478           6166          49337
            0.015        397.095      0.0967363           5722           6190          49529
            0.015        573.783       0.101084           6173           6462          51755
            0.015        497.465      0.0956777           6141           6125          48987
            0.015        742.984      0.0994277           8028           6362          50907
           0.0155        746.939      0.0908906           8095           5822          46536
           0.0155         1047.4      0.0847344           8123           5422          43384
           0.0155        576.463      0.0951836           7772           6096          48734
           0.0155        674.376      0.0901641           7924           5770          46164
           0.0155          760.3      0.0858828           7715           5500          43972
           0.0155         640.66      0.0879902           6744           5631          45051
           0.0155        707.893      0.0883301           7373           5653          45225
           0.0155         568.22      0.0912402           7184           5838          46715
           0.0155        618.782      0.0910176           7326           5820          46601
           0.0155         731.19      0.0944238           7893           6045          48345
           0.0155        673.076      0.0910586           7639           5833          46622
           0.0155        859.013      0.0863965           8168           5526          44235
           0.0155        980.231       0.087584           8424           5608          44843
           0.0155        614.877      0.0913652           7245           5853          46779
           0.0155         447.52       0.100359           6543           6422          51384
           0.0155        577.959      0.0828867           6964           5301          42438
           0.0155        761.163      0.0965176           7988           6180          49417
           0.0155        721.718      0.0866523           7707           5544          44366
           0.0155         750.19      0.0880625           6986           5639          45088
           0.0155        697.055      0.0888965           7586           5687          45515
            0.016        832.297      0.0872363           7469           5583          44665
            0.016        995.375      0.0854414           8317           5470          43746
            0.016        869.311      0.0891172           8246           5701          45628
            0.016        818.667      0.0874102           8508           5591          44754
            0.016        699.567      0.0851152           7453           5442          43579
            0.016        851.331      0.0865059           8894           5538          44291
            0.016        844.496      0.0933945           8496           5977          47818
            0.016        596.505      0.0980625           7533           6277          50208
            0.016        921.241      0.0815996           8562           5222          41779
            0.016        1004.56      0.0925059           8813           5920          47363
            0.016        740.977      0.0944023           8253           6041          48334
            0.016        923.023      0.0894512           7481           5720          45799
            0.016        916.402       0.081166           8238           5193          41557
            0.016        930.838      0.0888164           9268           5685          45474
            0.016        664.921      0.0904453           8143           5787          46308
            0.016        751.099      0.0883945           8763           5656          45258
            0.016        910.808      0.0842539           8060           5388          43138
            0.016        761.265      0.0914004           9137           5847          46797
            0.016        1038.46      0.0873027           8568           5593          44699
            0.016        1056.34      0.0869395           8011           5561          44513
           0.0165        896.667      0.0862383           8714           5523          44154
           0.0165        809.841      0.0880352           8583           5631          45074
           0.0165        927.722      0.0861074           8464           5510          44087
           0.0165        879.636      0.0871602           8318           5574          44626
           0.0165        988.132      0.0834883           8880           5346          42746
           0.0165        1003.88       0.080168           8967           5129          41046
           0.0165        775.643      0.0872617           8701           5582          44678
           0.0165        960.298      0.0855977           8556           5474          43826
           0.0165         1286.5      0.0760703           8574           4865          38948
           0.0165        1246.18      0.0774199           8751           4959          39639
           0.0165         769.18      0.0867578           8537           5552          44420
           0.0165        876.739      0.0800859           8679           5124          41004
           0.0165        795.694      0.0847305           8160           5423          43382
           0.0165        683.566       0.092834           7702           5939          47531
           0.0165        889.055      0.0952969           8988           6102          48792
           0.0165        868.981      0.0892383           8879           5711          45690
           0.0165        1090.74      0.0783594           8692           5013          40120
           0.0165        970.645      0.0852461           8641           5458          43646
           0.0165        1296.83      0.0792344           8708           5067          40568
           0.0165        1017.12      0.0855742           8405           5480          43814
            0.017        1112.05      0.0843145           8911           5396          43169
            0.017        1015.03      0.0783887           7948           5017          40135
            0.017        1066.95      0.0870996           8346           5575          44595
            0.017        759.254      0.0828613           8516           5304          42425
            0.017         1038.4      0.0848242           8603           5428          43430
            0.017        1144.29      0.0863437           9253           5525          44208
            0.017         899.58      0.0918184           8659           5873          47011
            0.017        954.023      0.0859668           9058           5501          44015
            0.017        1088.56      0.0816777           8769           5228          41819
            0.017        743.291       0.091541           8508           5856          46869
            0.017        1221.32      0.0817285           8917           5232          41845
            0.017         1007.8       0.090834           8747           5814          46507
            0.017        992.478      0.0818164           8842           5237          41890
            0.017        974.472      0.0830977           9155           5321          42546
            0.017         907.81      0.0921836           8816           5895          47198
            0.017        995.179      0.0832559           8834           5328          42627
            0.017        1123.39      0.0812988           8799           5202          41625
            0.017        830.937      0.0870742           8843           5570          44582
            0.017        942.761      0.0819551           8180           5245          41961
            0.017        1090.88      0.0852969           8643           5458          43672
           0.0175        1153.75      0.0803574           8901           5141          41143
           0.0175         985.34      0.0810742           8934           5193          41510
           0.0175        1233.35      0.0824297           8664           5277          42204
           0.0175        1021.36      0.0801504           8710           5129          41037
           0.0175        1033.14      0.0816934           8780           5228          41827
           0.0175        1239.42      0.0834395           8366           5341          42721
           0.0175        1150.26      0.0815488           9126           5216          41753
           0.0175        1243.08      0.0816328           9154           5222          41796
           0.0175        1125.63        0.08225           8415           5266          42112
           0.0175        1182.13      0.0810254           9012           5183          41485
           0.0175        876.641      0.0788438           8659           5043          40368
           0.0175         1000.1       0.085666           8532           5483          43861
           0.0175        1079.12      0.0807832           8257           5169          41361
           0.0175        1143.59      0.0829336           9023           5309          42462
           0.0175        1009.67       0.081207           8894           5196          41578
           0.0175        1032.29      0.0777363           8177           4979          39801
           0.0175        1063.77       0.085543           7978           5477          43798
           0.0175        1010.66      0.0797832           9108           5111          40849
           0.0175        1162.86      0.0824785           8922           5280          42229
           0.0175         1171.9      0.0819355           9002           5243          41951
];

rows = size(data, 1);
cols = size(data, 2);

data_delay = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+1);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_delay = [data_delay; data(ifirst, 1:cols-5), avg ci];
end

figure(1);
hold on;
plot(data_delay(:,1), data_delay(:,2), symbol);

data_throughput = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+2);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_throughput = [data_throughput; data(ifirst, 1:cols-5), avg ci];
end

figure(2);
hold on;
plot(data_throughput(:,1), data_throughput(:,2), symbol);

data_maxdelay = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+3);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_maxdelay = [data_maxdelay; data(ifirst, 1:cols-5), avg ci];
end

figure(3);
hold on;
plot(data_maxdelay(:,1), data_maxdelay(:,2), symbol);


%-------- Saturation Analysis -----------
slope=[];
for i=2:size(data_throughput,1),
    slope(i-1) = (data_throughput(i,2)-data_throughput(i-1,2))/(data_throughput(i,1)-data_throughput(i-1,1));
end

for i=2:size(slope,2),
    if slope(i) < (0.95*mean(slope(1:i)))
        max_pir = data_throughput(i, 1);
        max_throughput = data_throughput(i, 2);
        min_delay = data_delay(i, 2);
        break;
    end
end
